iT邦幫忙

2024 iThome 鐵人賽

DAY 6
0
自我挑戰組

從零開始學Python系列 第 6

[Day6] Python數據分析-NumPy基本用法

  • 分享至 

  • xImage
  •  

NumPy(Numeric Python)是Python在進行數據分析時,可以使用的一個Package,適用於數值計算、矩陣運算、數學函數等。

NumPy 主要功能

  1. ndarray:
    nd指的是n維的array(n-dimension array),可以用來存儲同類型的數據,並進行數學運算。
    ndarray 中的所有元素必須是相同的數據類型!
  2. 數學運算:
    NumPy 提供了大量的數學函數,例如加法、減法、乘法、除法、指數、對數等。這些運算都是基於 ndarray 的元素進行的。
  3. 隨機數生成:
    NumPy 的 random 模塊可以用來生成隨機數、隨機樣本,這在機器學習和統計分析中非常有用。
  4. 數據處理:
    提供了對數組的各種處理功能,如形狀變換(reshape)、切片(slice)、索引(indexing)等。

基本用法

  1. 創建一組數據:
  • import numpy package
import numpy as np
  • 從列表創建數組
arr = np.array([1, 2, 3, 4, 5])
print(arr)
# 輸出:[1 2 3 4 5]
  • 創建指定範圍的數組
range_arr = np.arange(10)
print(range_arr)
# 輸出:[0 1 2 3 4 5 6 7 8 9]
  • 創建指定範圍內的等間距數組
linspace_arr = np.linspace(0, 1, 5)
print(linspace_arr)
# 輸出:[0.   0.25 0.5  0.75 1.  ]
  • 創建全零數組
zeros = np.zeros((3, 4))
print(zeros)
# 輸出:
[[0. 0. 0. 0.]
 [0. 0. 0. 0.]
 [0. 0. 0. 0.]]

基本操作

arr = np.array([1, 2, 3, 4, 5])
  • 數組的形狀
print(arr.shape)
# 輸出:(5,) =>這裡的 (5,) 表示這是一個只有一維的數組,維度大小為 5。
  • 數組的數據類型
print(arr.dtype)
# 輸出:int64 => int64 是整數(integer)的一種
  • 計算數組的和
print(np.sum(arr))
# 輸出:15 
  • 計算數組的平均值
print(np.mean(arr))
# 輸出:3.0
  • 計算數組的標準差
print(np.std(arr))
# 輸出:1.4142135623730951

數學運算

  • 元素級別的運算
arr = np.array([1, 2, 3, 4, 5])
arr2 = np.array([5, 4, 3, 2, 1])
print(arr + arr2)  # 加法
print(arr * arr2)  # 乘法
#輸出:
[6 6 6 6 6]
[5 8 9 8 5]
  • 矩陣運算
mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[5, 6], [7, 8]])
print(np.dot(mat1, mat2))  # 矩陣乘法
#輸出:
[[19 22]
 [43 50]]
# C11 = (1×5)+(2×7)=5+14=19
  1. 隨機數生成:
  • 生成隨機數
rand_arr = np.random.rand(3, 3)
print(rand_arr)
#輸出:
[[0.22255929 0.12764158 0.78796942]
 [0.20198989 0.55306197 0.7436789 ]
 [0.04384077 0.90511024 0.57501742]]
  • 生成隨機整數
randint_arr = np.random.randint(1, 10, size=(3, 3))
print(randint_arr)
#輸出:
[[7 8 4]
 [1 8 6]
 [1 5 7]]

上一篇
[Day5] Python函數
下一篇
[Day7] Python數據分析-Pandas基本用法
系列文
從零開始學Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言